perm filename CONVER.PRG[T,LSP] blob sn#624411 filedate 1981-11-16 generic text, type T, neo UTF8
  CONVERT: PROCEDURE OPTIONS (MAIN);                                    CON00010
     /*A PROGRAM TO FORMAT PSEUDO-MARC RECORDS*/                        CON00020
                                                                        CON00030
     DECLARE                                                            CON00040
        DIR(10) FIXED (3,0),/*DIRECTORY ARRAY*/                         CON00050
        I FIXED (2,0),/*COUNTER*/                                       CON00060
        BIB CHAR (134) VARYING,/*BIBLIOGRAPHICAL MATERIAL*/             CON00070
        BIB←PART(9) CHAR (50) VARYING,/*BIB SEGMENTS*/                  CON00080
        OKOK BIT (1);/*END FLAG*/                                       CON00090
                                                                        CON00100
   /*INITIALIZE VARIABLES*/                                             CON00110
                                                                        CON00120
     I = 0;                                                             CON00130
     DIR = 0;                                                           CON00140
     BIB←PART = 0;                                                      CON00150
     OKOK = '1'B;                                                       CON00160
     DIR(10) = 0;                                                       CON00170
                                                                        CON00180
     ON ENDFILE (SYSIN) OKOK = '0'B;                                    CON00190
                                                                        CON00200
        GET EDIT ((DIR (I) DO I = 1 TO 9),BIB)                          CON00210
           (9 F(3,0),A(133));                                           CON00220
        DIR(10) = INDEX(BIB,'  ');                                      CON00230
                                                                        CON00240
  MRCTIME:                                                              CON00250
     DO WHILE (OKOK);                                                   CON00260
                                                                        CON00270
     USEDIR:                                                            CON00280
        DO I = 1 TO 9;/*BREAK BIB INTO SEGMENTS USING DIR NUMBERS*/     CON00290
           BIB←PART(I) = SUBSTR (BIB,DIR(I),DIR(I + 1) - DIR(I));       CON00300
        END USEDIR;                                                     CON00310
                                                                        CON00320
     PUT SKIP(2) LIST /*PRINT BIB←PART(1-3) ON ONE LINE (W) PUNCT.*/    CON00330
        (BIB←PART(1)||', '||BIB←PART(2)||'.  '||BIB←PART(3)||           CON00340
          '.  ');                                                       CON00350
     PUT SKIP LIST /*PRINT BIB←PART(4-6) ON NEXT LINE (W) PUNCT.*/      CON00360
        ('     '||BIB←PART(4)||', '||BIB←PART(5)||'.  '||               CON00370
         BIB←PART(6)||' P.');                                           CON00380
     PUT SKIP LIST /*PRINT BIB←PART(7) ON NEXT LINE (W) PUNCT.*/        CON00390
        ('     '||'LC CARD NO.: '||BIB←PART(7));                        CON00400
     PUT SKIP LIST /*PRINT BIB←PART(8) ON NEXT LINE (W) PUNCT.*/        CON00410
        ('     '||'ISBN: '||BIB←PART(8));                               CON00420
     PUT SKIP LIST /*PRINT BIB←PART(9) ON NEXT LINE (W) PUNCT.*/        CON00430
        ('     '||'LC CALL NO.: '||BIB←PART(9));                        CON00440
                                                                        CON00450
        GET EDIT ((DIR(I) DO I = 1 TO 9),BIB)                           CON00460
           (9 F(3,0),A(133));                                           CON00470
        DIR(10) = INDEX(BIB,'  ');                                      CON00480
                                                                        CON00490
     END MRCTIME;                                                       CON00500
  END CONVERT;                                                          CON00510